import pandas as pd

# 创建一个简单的DataFrame
data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '金额': [50, 60, 35],
        '城市': ['广州', '上海', '广州']}
df = pd.DataFrame(data)

# 打印整个DataFrame
print('原始数据：')
print(df)

# 筛选年龄大于30的数据
filtered_df = df[df['年龄'] > 30]
print('\n筛选后的数据：')
print(filtered_df)

# 计算平均年龄
avg_age = df['年龄'].mean()
print('\n平均年龄：', avg_age)

# 按城市分组统计人数
city_counts = df['城市'].value_counts()
print('\n各城市人数统计：')
print(city_counts)

# 按城市分组统计年龄平均值和总和
city_age_stats = df.groupby('城市')['年龄'].agg(['mean', 'sum'])
print('\n各城市年龄统计：')
print(city_age_stats)

# 计算各城市人数占比
df['人数占比'] = df.groupby('城市')['城市'].transform('count') / len(df)
# 计算各城市金额占比
df['金额占比'] = df.groupby('城市')['金额'].transform('sum') / df['金额'].sum()

print('\n各城市人数占比和金额占比：')
print(df[['城市', '人数占比', '金额占比']])